package dominio;
// Generated 11-01-2014 10:14:49 AM by Hibernate Tools 3.6.0


import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Transaccion generated by hbm2java
 */
@Entity
@Table(name="transaccion"
    ,catalog="g1"
)
public class Transaccion  implements java.io.Serializable {


     private Integer idTransaccion;
     private Concepto concepto;
     private Pais pais;
     private Clientetarjetaestado clientetarjetaestado;
     private Date fechaTransaccion;
     private Date fechaAplicada;
     private BigDecimal monoTransaccion;
     private String BCargo;
     private String BAbono;

    public Transaccion() {
    }

    public Transaccion(Concepto concepto, Pais pais, Clientetarjetaestado clientetarjetaestado, Date fechaTransaccion, Date fechaAplicada, BigDecimal monoTransaccion, String BCargo, String BAbono) {
       this.concepto = concepto;
       this.pais = pais;
       this.clientetarjetaestado = clientetarjetaestado;
       this.fechaTransaccion = fechaTransaccion;
       this.fechaAplicada = fechaAplicada;
       this.monoTransaccion = monoTransaccion;
       this.BCargo = BCargo;
       this.BAbono = BAbono;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="idTransaccion", unique=true, nullable=false)
    public Integer getIdTransaccion() {
        return this.idTransaccion;
    }
    
    public void setIdTransaccion(Integer idTransaccion) {
        this.idTransaccion = idTransaccion;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idConcepto", nullable=false)
    public Concepto getConcepto() {
        return this.concepto;
    }
    
    public void setConcepto(Concepto concepto) {
        this.concepto = concepto;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="Pais_idPais", nullable=false)
    public Pais getPais() {
        return this.pais;
    }
    
    public void setPais(Pais pais) {
        this.pais = pais;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumns( { 
        @JoinColumn(name="fechaLimtePago", referencedColumnName="fechaLimtePago", nullable=false), 
        @JoinColumn(name="idCliente", referencedColumnName="idCliente", nullable=false), 
        @JoinColumn(name="idTarjetaCredito", referencedColumnName="idTarjetaCredito", nullable=false) } )
    public Clientetarjetaestado getClientetarjetaestado() {
        return this.clientetarjetaestado;
    }
    
    public void setClientetarjetaestado(Clientetarjetaestado clientetarjetaestado) {
        this.clientetarjetaestado = clientetarjetaestado;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="fecha_transaccion", nullable=false, length=10)
    public Date getFechaTransaccion() {
        return this.fechaTransaccion;
    }
    
    public void setFechaTransaccion(Date fechaTransaccion) {
        this.fechaTransaccion = fechaTransaccion;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="fecha_aplicada", nullable=false, length=10)
    public Date getFechaAplicada() {
        return this.fechaAplicada;
    }
    
    public void setFechaAplicada(Date fechaAplicada) {
        this.fechaAplicada = fechaAplicada;
    }

    
    @Column(name="mono_transaccion", nullable=false, precision=11)
    public BigDecimal getMonoTransaccion() {
        return this.monoTransaccion;
    }
    
    public void setMonoTransaccion(BigDecimal monoTransaccion) {
        this.monoTransaccion = monoTransaccion;
    }

    
    @Column(name="b_cargo", nullable=false, length=1)
    public String getBCargo() {
        return this.BCargo;
    }
    
    public void setBCargo(String BCargo) {
        this.BCargo = BCargo;
    }

    
    @Column(name="b_abono", nullable=false, length=1)
    public String getBAbono() {
        return this.BAbono;
    }
    
    public void setBAbono(String BAbono) {
        this.BAbono = BAbono;
    }




}


